#pragma once


class CGeometryBuilder;

class CRail
{
public: 
	CRail(CGeometryBuilder * pBuilder);
	HRESULT ExtendTo(const struct XPOINTF & ptTo, const struct XPOINTF & vec, const struct XPOINTF & pt1, const struct XPOINTF & pt2, const struct XPOINTF & ptSpine);
	HRESULT SetCurrentPoint(const struct XPOINTF & pt);
	HRESULT Close();
	HRESULT LineToPoint(const struct XPOINTF & pt);
	HRESULT BezierToPoint(const struct XPOINTF & pt1, const struct XPOINTF & pt2, const struct XPOINTF & pt3);
	HRESULT StartAtPoint(const struct XPOINTF & pt);
	struct XPOINTF GetEndPoint();
	CGeometryBuilder * GetGeometryBuilder();
private: 
	CGeometryBuilder * m_pBuilder; 
	struct XPOINTF m_ptLastPoint;

};